<%@include file="includes/header.inc.jsp"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="com.upc.virtes.ConexionPgSQL"%>

<%
ConexionPgSQL Conexion = new ConexionPgSQL();
Conexion.ConexionPgsql();

String Sql = "SELECT * FROM usuarios WHERE usuario='"+session.getAttribute("LoginDat[1]")+"' AND clave='"+session.getAttribute("LoginDat[1]")+"' AND host='"+session.getAttribute("LoginDat[3]")+"'";
Conexion.QuerySQL(Sql);
ResultSet Filas = Conexion.getRs();

if((Filas!=null) && (request.getParameter("seccion")!=null))
{
        String seccion = request.getParameter("seccion");
        String tmpDatos = "";
        String conDatos = "";
        int nroCampos;

        Integer campos = Integer.parseInt(request.getParameter("campos"));

        Boolean flag = false;

        if(seccion.equals("Ausua")) {
                nroCampos = campos - Integer.parseInt(request.getParameter("nroCheckbox"));
            } else {
                nroCampos = campos;            
            }

        for(int i=0;i<=nroCampos-1;i++)
        {
            if(request.getParameter("datos["+i+"]").equals("nochecked")) {
                    tmpDatos = "FALSE";
                } else {
                    if(request.getParameter("datos["+i+"]").equals("checked"))
                        tmpDatos = "TRUE";
                    else
                        tmpDatos = request.getParameter("datos["+i+"]");

                }
            if(tmpDatos.equals(""))
            {
                out.println("alert('Datos incompletos');");
                flag = true;
                break;
            }

            if(i!=0)
            {
                conDatos = conDatos + ",'"+tmpDatos+"'";
            }
            else
            {
                if(!seccion.equals("Ausua")) {
                    conDatos = conDatos+"DEFAULT,'"+tmpDatos+"'";
                } else {
                    conDatos = conDatos + "'"+tmpDatos+"'";
                }
            }
        }

        if(seccion.equals("Ausua"))
        {
                Integer nroCheckbox = Integer.parseInt(request.getParameter("nroCheckbox"));
                if(flag == false)
                {
                        String sqlSeccion = "INSERT INTO usuarios VALUES("+conDatos+")";
                        Conexion.QueryInsertSQL(sqlSeccion);

                        String sqlBloque = "SELECT cod_bloque FROM bloques ORDER BY cod_bloque ASC";
                        Conexion.QuerySQL(sqlBloque);
                        ResultSet filasBloque = Conexion.getRs();
                        while(filasBloque.next())
                        {
                                String sqlPermisos = "INSERT INTO permisos VALUES(DEFAULT,'"+request.getParameter("datos[0]")+"','"+filasBloque.getString(1)+"','FALSE')";
                                Conexion.QueryInsertSQL(sqlPermisos);
                        }

                        for(int i=campos-nroCheckbox;i<=campos-1;i++)
                        {
                                tmpDatos = request.getParameter("datos["+i+"]");
                                if(!tmpDatos.equals("nochecked"))
                                {
                                        String sqlCheck = "UPDATE permisos SET acceso='TRUE' WHERE cod_usuario='"+request.getParameter("datos[0]")+"' AND cod_bloque='"+tmpDatos+"'";
                                        Conexion.QueryInsertSQL(sqlCheck);
                                }
                        }

	                Conexion.CloseConnection();
                        out.println("ajax.removerObjeto('divGeneral','boxzone');");
                        out.println("ajax.cargarContenido('bloque.jsp','seccion=Ausua','','workzone');");
                }
        }

        if(seccion.equals("Atipo"))
        {
	        if(flag == false)
                {
			String sqlSeccion = "INSERT INTO tipos VALUES("+conDatos+")";
                        Conexion.QueryInsertSQL(sqlSeccion);
	                Conexion.CloseConnection();

	                out.println("ajax.removerObjeto('divGeneral','boxzone');");
	                out.println("ajax.cargarContenido('bloque.jsp','seccion=Atipo','','workzone');");
		}
        }

        if(seccion.equals("Aexam"))
        {
	        if(flag == false)
                {
			String sqlSeccion = "INSERT INTO examenes VALUES("+conDatos+")";
                        Conexion.QueryInsertSQL(sqlSeccion);
	                Conexion.CloseConnection();

	                out.println("ajax.removerObjeto('divGeneral','boxzone');");
	                out.println("ajax.cargarContenido('bloque.jsp','seccion=Aexam&cod_tipo="+request.getParameter("cod_tipo")+"','','workzone');");
		}
        }

        if(seccion.equals("Apreg"))
        {
	        if(flag == false)
                {
			String sqlSeccion = "INSERT INTO preguntas VALUES("+conDatos+")";
                        Conexion.QueryInsertSQL(sqlSeccion);
	                Conexion.CloseConnection();

	                out.println("ajax.removerObjeto('divGeneral','boxzone');");
	                out.println("ajax.paginaEnlace('','admi','contenido.jsp','seccion=Apreg&cod_examen="+request.getParameter("datos[0]")+"&cod_tipo="+request.getParameter("cod_tipo")+"','','"+request.getParameter("cod_tipo")+"');");
		}
        }

        if(seccion.equals("Aopci"))
        {
	        if(flag == false)
                {
			String sqlSeccion = "INSERT INTO opciones VALUES("+conDatos+")";
                        Conexion.QueryInsertSQL(sqlSeccion);
	                Conexion.CloseConnection();

	                out.println("ajax.paginaEnlace('','admi','contenido.jsp','seccion=Aopci&cod_pregunta="+request.getParameter("datos[0]")+"','','detalle_opcion');");
		}
        }

        if(seccion.equals("Elist"))
        {
	        if(flag == false)
                {
			String sqlSeccion = "INSERT INTO inscripciones VALUES(DEFAULT,'"+request.getParameter("cod_usuario")+"','"+request.getParameter("cod_examen")+"',DEFAULT,DEFAULT)";                      
                        Conexion.QueryInsertSQL(sqlSeccion);
	                Conexion.CloseConnection();
	                out.println("ajax.paginaEnlace('','exam','bloque.jsp','seccion=Elist&cod_tipo="+request.getParameter("cod_tipo")+"','','workzone');");
		}
        }

        if(seccion.equals("Eexam"))
        {
            if(flag == false) {
                for(int i=0;i<=campos-1;i++) {
			String sqlSeccion = "INSERT INTO respuestas VALUES(DEFAULT,'"+request.getParameter("cod_inscripcion")+"','"+request.getParameter("datos["+i+"]")+"')";
                        Conexion.QueryInsertSQL(sqlSeccion);
                }
                        String sqlSeccion = "UPDATE inscripciones SET estado='evaluado' WHERE cod_inscripcion='"+request.getParameter("cod_inscripcion")+"'";
                        Conexion.QueryInsertSQL(sqlSeccion);
            }
	                Conexion.CloseConnection();
	                out.println("ajax.removerObjeto('divGeneral','boxzone');");
	                //out.println("ajax.paginaEnlace('','exam','bloque.jsp','seccion=Eexam&cod_pregunta="+request.getParameter("datos[0]")+"','','detalle_opcion');");
        }

}
else
{
                session.invalidate();
                if(request.getParameter("seccion")!=null) {
                    out.println("alert(\"falso!!!\");");
                }
                Conexion.CloseConnection();
                out.println("location=\"index.jsp\";");
}
%>